#!perl

use 5.016;

# 先做一个分词器，然后做一个虚拟机，也就是模拟的CPU
# 和内存，也就是理想中的一个机器，然后用指令序列来执行
# 忽略基本的CPU的字符长度等细节，就好像是 Pir 一样的
# 然后，设计 LISP 语言，将 Lisp 转换成 Pir 语言动态的解释。
# 就是在一种语言环境中写出能执行另外一种语言的程序。
# 虚拟机能在各种设备上执行。
# 在底层将代码转换过来，委以重任。
# 核心代码更底层的代码如何转换呢？就是虚拟机代码的转换
# 转换成 clojure 代码只涉及转换，不涉及重用
# 学习 Clojure，用 Clojure 写代码
# 用别的的语言实现 Clojure 的解释器
# 写的代码就是语言转换器
sub extendwithgrammar {
    my $str = shift;
}

